1. Field of the Invention
The present invention generally relates to data storage on computer systems, and more particularly to methods for backing up and recovering physically or logically damaged resources on that data storage. Specifically, this invention relates to a method for formulating an integrated disaster recovery plan based upon a plurality of requirements for each of a plurality of data types.
2. Description of Background
Disaster recovery (DR) solutions for information technology (IT) systems encompass application servers, networks and storage systems. In the case of storage systems, there are a plethora of point replication solutions that may be used for providing disaster recovery. As a general consideration, system designers formulate an appropriate DR plan or solution based on user requirements, and then the DR solution is deployed.
At present, DR solution planning is a manual, error prone and time consuming process. The solution space is quite large, with the result that designers may not devise the most cost effective solution. In the storage domain, designing DR solutions is complex because designers have to choose from among various competing alternatives. For example, a typical IT system environment may include an application stack in the form of an application running on top of a database system that is, in turn, running on top of a file system. The file system may obtain its volumes via a volume manager. Finally, the volume manager could, in turn, obtain its storage from a storage controller. In this type of environment, a DR solution can be formulated at the database level, the file system level, the volume manager level, the storage controller level, or at more than one of the foregoing levels. Selecting an appropriate technology for implementing the DR solution is not a trivial matter. This selection is typically determined with reference to the relative costs of various data replication solutions and the DR needs applicable to a given type of data.
DR solution designers are required to design a cost effective disaster recovery solution for an enterprise that may consist of multiple locations and applications. Each application may, in turn, be dealing with many different classes of data each having different DR requirements. Finally, each respective class of application data may require protection for a different type of corresponding disaster, such as virus attacks, machine failure, and site failure. Determining the number of sites and copies to satisfy the foregoing enterprise requirements is not an easy task. As a result, designers generally over-provision the required amount of DR resources.
In many cases, DR solution designers are required to formulate solutions for an existing environment. In these situations, the designer must first assess whether or not it is possible for the existing environment to support all applicable DR requirements. If it is determined that the existing environment has the potential to support these requirements, the designer must then determine how to extend the existing environment to address these requirements in a cost effective manner.
There are very few individuals who possess the necessary expertise to design effective DR solutions. Moreover, the expertise of these individuals is often restricted to a specific category of replication technology (e.g, controller replication or database replication). The DR solutions devised by these individuals rely upon a group of best practices that have proven effective in view of practical experience and empirical observations. Unfortunately, these best practices have not been automated and consolidated into the DR solution process for the purpose of making these practices available to a greater number of designers. Further, the solutions generated by these experts must be deployed in terms of replication sessions for various technologies, which is a manual and error-prone process.
A number of database and third party software vendors provide backup and recovery solutions at the database level, and some claim to offer data recovery at the application level as well. These solutions generate a recovery job with the relevant object names and syntax required to execute the backup and recovery function, along with management tools that track the generated backup. However, these data recovery solutions are intended for single site and may not function effectively in environments which include a multitude of sites. Moreover, these recovery solutions lack a mechanism for determining the optimal technologies to use for backup and recovery tasks. No mechanism is provided to develop optimal schedules for backup. No mechanism exists to determine optimal recovery strategies. Additionally, no mechanism is provided to adapt and refine DR techniques in environments that have dynamically changing application workloads, business objectives, and hardware/software infrastructure. What is lacking is a holistic view of all data stores (databases and files) of an application for data recovery that may span multiple eclectic systems. Accordingly, what is needed is a method for automatically generating a DR solution for use in multi-site IT environments. The need for such a method has heretofore remained unsatisfied.